﻿using System;

namespace JNPF.Utils
{
    /// <summary>
    /// 登录者信息
    /// 版 本：V3.0.0
    /// 版 权：引迈信息技术有限公司（https://www.jnpfsoft.com）
    /// 作 者：JNPF开发平台组
    /// </summary>
    public class UserInfo
    {
        /// <summary>
        /// 唯一Id
        /// </summary>
        public string Id { get; set; }
        /// <summary>
        /// 用户主键
        /// </summary>
        public string UserId { get; set; }
        /// <summary>
        /// 用户账户
        /// </summary>
        public string UserAccount { get; set; }
        /// <summary>
        /// 用户姓名
        /// </summary>
        public string UserName { get; set; }
        /// <summary>
        /// 用户头像
        /// </summary>
        public string UserIcon { get; set; }
        /// <summary>
        /// 用户性别
        /// </summary>
        public string UserGender { get; set; }
        /// <summary>
        /// 机构主键
        /// </summary>
        public string OrganizeId { get; set; }
        /// <summary>
        /// 我的主管
        /// </summary>
        public string ManagerId { get; set; }
        /// <summary>
        /// 下属机构
        /// </summary>
        public string[] SubOrganizeIds { get; set; }
        /// <summary>
        /// 我的下属
        /// </summary>
        public string[] SubordinateIds { get; set; }
        /// <summary>
        /// 岗位主键
        /// </summary>
        public string[] PositionIds { get; set; }
        /// <summary>
        /// 角色主键
        /// </summary>
        public string[] RoleIds { get; set; }
        /// <summary>
        /// 登录时间
        /// </summary>
        public DateTime? LoginTime { get; set; }
        /// <summary>
        /// 登录IP地址
        /// </summary>
        public string LoginIPAddress { get; set; }
        /// <summary>
        /// 登录IP地址所在城市
        /// </summary>
        public string LoginIPAddressName { get; set; }
        /// <summary>
        /// 登录MAC地址
        /// </summary>		
        public string MACAddress { get; set; }
        /// <summary>
        /// 登录平台设备
        /// </summary>
        public string LoginPlatForm { get; set; }
        /// <summary>
        /// 上次登录时间
        /// </summary>
        /// <returns></returns>
        public DateTime? PrevLoginTime { get; set; }
        /// <summary>
        /// 上次登录IP地址
        /// </summary>
        /// <returns></returns>
        public string PrevLoginIPAddress { get; set; }
        /// <summary>
        /// 上次登录IP地址所在城市
        /// </summary>
        /// <returns></returns>
        public string PrevLoginIPAddressName { get; set; }
        /// <summary>
        /// 是否超级管理员
        /// </summary>
        public bool IsAdministrator { get; set; }
        /// <summary>
        /// 过期时间
        /// </summary>
        public TimeSpan? OverdueTime { get; set; }
        /// <summary>
        /// 租户编码
        /// </summary>
        public string TenantId { get; set; }
        /// <summary>
        /// 租户数据库连接串（注意：主要解决多租户系统用的。每个租户连接数据库都是唯一的）
        /// 目前就支持一个数据库。如果业务需要多个数据库，手动去添加 ConnectionString1、ConnectionString2 等等
        /// </summary>
        public string TenantDbConnectionString { get; set; }
        /// <summary>
        /// 租户数据库类型
        /// </summary>
        public string TenantDbType { get; set; }

        /// <summary>
        /// 门户id
        /// </summary>
        public string PortalId { get; set; }
    }
}
